package com.example.petshopping.ui.pet;

import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.example.petshopping.R;
import com.example.petshopping.model.PetProduct;
import com.example.petshopping.ui.adapter.PetProductAdapter;
import com.example.petshopping.ui.main.MainActivity;
import com.google.android.material.chip.Chip;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;

import java.util.ArrayList;
import java.util.List;

public class PetActivity extends AppCompatActivity {

    private RecyclerView recyclerView;
    private PetProductAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pet);
        
        // 设置状态栏高度
        int statusBarHeight = getStatusBarHeight();
        findViewById(R.id.status_bar_bg).getLayoutParams().height = statusBarHeight;

        // 初始化RecyclerView
        recyclerView = findViewById(R.id.pet_product_list);
        recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
        
        // 创建和设置适配器
        List<PetProduct> productList = createSampleProducts();
        adapter = new PetProductAdapter(this, productList);
        recyclerView.setAdapter(adapter);
        
        // 初始化导航菜单
        initNavMenu();
        
        // 设置点击事件
        setupClickListeners();
    }
    
    private void initNavMenu() {
        TabLayout navMenu = findViewById(R.id.nav_menu);
        // 设置默认选中"宠物"选项卡
        navMenu.getTabAt(1).select();
        
        navMenu.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                switch (tab.getPosition()) {
                    case 0: // 首页 · AI
                        // 跳转到首页
                        Intent intent = new Intent(PetActivity.this, MainActivity.class);
                        startActivity(intent);
                        finish(); // 结束当前Activity
                        break;
                    case 1: // 宠物
                        // 当前已是宠物页面，不需要处理
                        break;
                    case 2: // 水族
                        // 水族页面，暂未实现
                        Snackbar.make(navMenu, "水族页面即将上线", Snackbar.LENGTH_SHORT).show();
                        // 恢复选中宠物选项卡
                        navMenu.getTabAt(1).select();
                        break;
                    case 3: // 一口价
                        // 一口价页面，暂未实现
                        Snackbar.make(navMenu, "一口价页面即将上线", Snackbar.LENGTH_SHORT).show();
                        // 恢复选中宠物选项卡
                        navMenu.getTabAt(1).select();
                        break;
                    case 4: // 同城
                        // 同城页面，暂未实现
                        Snackbar.make(navMenu, "同城页面即将上线", Snackbar.LENGTH_SHORT).show();
                        // 恢复选中宠物选项卡
                        navMenu.getTabAt(1).select();
                        break;
                }
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                // 不需要处理
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {
                // 不需要处理
            }
        });
    }
    
    private void setupClickListeners() {
        // 搜索按钮点击事件
        findViewById(R.id.search_button).setOnClickListener(v -> {
            Snackbar.make(v, "搜索功能即将上线", Snackbar.LENGTH_SHORT).show();
        });
        
        // 参与按钮点击事件
        findViewById(R.id.participate_btn).setOnClickListener(v -> {
            Snackbar.make(v, "您点击了参与按钮！", Snackbar.LENGTH_SHORT).show();
        });
        
        // 添加标签按钮点击事件
        Chip addTagBtn = findViewById(R.id.add_tag_btn);
        addTagBtn.setOnClickListener(v -> {
            Snackbar.make(v, "即将进入自定义标签页面", Snackbar.LENGTH_SHORT).show();
        });
        
        // 底部导航按钮点击事件
        findViewById(R.id.bottom_nav).setOnClickListener(v -> {
            // 跳转到首页
            Intent intent = new Intent(PetActivity.this, MainActivity.class);
            startActivity(intent);
            finish();
        });
    }
    
    private List<PetProduct> createSampleProducts() {
        List<PetProduct> products = new ArrayList<>();
        
        // 添加样本数据
        products.add(new PetProduct(
            "纯种英短蓝猫幼崽 疫苗已做 可上门看猫", 
            1200, 
            R.drawable.cat, 
            "无理由", 
            "今天20:05截拍", 
            "喵星人旗舰店"
        ));
        
        products.add(new PetProduct(
            "纯种金毛幼犬 2个月大 已注射疫苗 健康活泼", 
            1800, 
            R.drawable.dog, 
            "无理由", 
            "明天12:00截拍", 
            "汪汪之家"
        ));
        
        products.add(new PetProduct(
            "澳洲牡丹鹦鹉 会说话 性格温顺 适合新手饲养", 
            2500, 
            R.drawable.yingwu, 
            "无理由", 
            "后天10:30截拍", 
            "鸟语花香"
        ));
        
        products.add(new PetProduct(
            "布偶猫幼崽 纯种海豹双色 亲人可爱 健康无病", 
            3600, 
            R.drawable.cat, 
            "无理由", 
            "今天18:00截拍", 
            "萌宠之家"
        ));
        
        return products;
    }
    
    private int getStatusBarHeight() {
        int result = 0;
        int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
        if (resourceId > 0) {
            result = getResources().getDimensionPixelSize(resourceId);
        }
        return result;
    }
} 